System And Method For Evaluating Network Transport Effects On Delivery Of Media Content

ABSTRACT

A system and a method for evaluating transport of data segments of media content bitstream over a peer-to-peer network by streaming data chunks of a media content through a peer-to-peer network, generating network transport distortion on the data chunks using live experiments, simulation, or artificial generation, determining a playback strategy of each of the data segment at the receiver end, and evaluating a playback performance of the media content bitstream under the playback strategy.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains material, which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.

FIELD OF THE INVENTION

The present invention relates generally to transmission of data over electronic signal delivery medium; more specifically to transmission of multimedia content, including but not limited to video, audio, and textual content, over electronic signal delivery medium, including but not limited to computing device local area network, computer wide area network, wireless network, cellular network, and television networks.

BACKGROUND

Increasingly, multimedia content, such as digital video clips and audio sound bits, is transported over computing device networks, such as the Internet. There are many mechanisms for transporting multimedia content through a computing device network.

Traditionally, multimedia content is transported using a client-server mechanism, in which one or a set of multiple server computing devices are dedicated to hosting and delivering the multimedia content and another one or a set of multiple client devices are dedicated to receiving the multimedia content. In this case, efficiency of the content transportation can be improved by strategically placing intermediate server computing devices, acting as proxies for the server computing devices, caching and delivering the multimedia content to those client devices that are close to them in the network.

Recently, it has become popular to use peer-assisted mechanisms. In this case, the client devices that are receiving the multimedia content themselves replace the intermediate server computing devices in the client-server case as proxies, cache and re-deliver the multimedia content to other client devices. There are still many other content transport mechanisms and efficiency improvement schemes such as single or multiple tree-based application layer multicast, peer-to-peer file downloading, peer-to-peer streaming, and content distribution network (CDN). Collectively, they are referred to as “peer-to-peer” networks (hereinafter referred to as P2P networks).

In addition to multimedia content being playback by the client device only after the entire content file is received, delivery and playback are often done concurrently, also known as “streaming,” regardless of which transportation mechanism or efficiency improvement scheme is used.

For traditional file transfers through a computing device network, a simple quantifiable measurement, such as total delay of the transportation of the file, can be used as an assessment objective. For multimedia content streaming, however, the assessment objective is the quality of the playback experience (hereinafter referred to as QoE), a more elusive and subjective measurement. The only accepted method for measuring QoE is through subjective scoring by representative human audience of the multimedia content being played.

However, a QoE assessment process comprises of multiple subjective scorings is labor-intensive and time-consuming. Ideally, each subjective scoring should be repeated for different settings (network topologies, protocols, algorithms, transport mechanisms, efficiency improvement schemes, and number of audiences, etc), and different types of contents. Furthermore, results of the QoE assessment process should be repeatable to be convincing. In reality, large-scale QoE assessment experiments are very difficult to implement. Some testers use PlanetLab (http://www.planet-lab.org), a collaboration of vast number of computers connected to the Internet around the world, serving as testbed for overlay networks. However, two experiments performed using PlanetLab can hardly be implemented with identical settings such as identical set of computers, much less repeatable results. Another way is to use certain unique content to attract a large audience to participate in an experiment. For example, tests were done during the 2008 Olympics broadcasting. Although such experiments can be reasonably large-scale, they cannot be easily repeated.

Video quality assessments for traditional television contents and related applications have received much attention in the past. There are a number of publications and standards available. For example, International Telecommunication Union, “Recommendation ITU-R BT.500-11—Methodology for the subjective assessment of the quality of television pictures.” (2002) (Contents of which are hereby incorporated by reference) and International Telecommunication Union, “ITU-T Recommendation P.910 Subjective video quality assessment methods for multimedia applications.” (1999) (Contents of which are hereby incorporated by reference). Although some concrete methods designed for subjective assessment of video quality in multimedia applications were discussed in these publications, they do not provide any technical specifications for experimenting on personal computers in computing device networks.

More recently, there are studies on subjective assessments of 3 L-video, namely low-bit rate, low-frame rate, and low-resolution video, which constitutes most of the video content streamed on the Internet. In these assessment studies, each reference sequence (SRC) of content was processed through a number of error conditions, or so called Hypothetical Reference Circuits (HRC), to generate processed video sequences (PVS). The HRC considered so far is suitable for streaming content using client-server mechanism where there is a single link between a server computing device and a client device, and packet loss rate is considered to be the only type of network transmission errors. But such HRC method has limitation in applicability in P2P networks because the HRC method considers packet loss rate as the only type of network transmission error.

When transporting content in P2P networks, the minimum processing unit of the content being transported is no longer packets but chunks. A network packet is a data segment of the content being transported and typically ranges from a few hundreds to tens of thousands of bits in size. A chunk, on the other hand, composes of several consecutive audio and video frames of the content and its length can be from hundreds of milliseconds to one second in uninterrupted playback time. Although the size of a chunk depends on the actual implementation of the particular transport mechanism, the network, and the content streaming application, in any case a chuck is much larger than a packet.

In P2P content streaming applications, almost all the important building blocks and components are designed to handle chunks. For example, chunk selection algorithm, peer selection algorithm that is based on chunk bit-map information exchanged among neighbor peers, and local chunk buffer management. Therefore, in order to assess the QoE of the streamed content transported through P2P networks, innovative methods for generating and extracting chunk-level impairments are needed.

U.S. Patent Application Publication No. 2006/0120463, U.S. Patent Application Publication No. US 2009/0180545, and U.S. Pat. No. 7,266,147 disclose the designs and implementations of Hypothetical Reference Decoders. These disclosures focus on how to evaluate different encoding and decoding methods for the video streaming application without reference to content transportation through the network. On the other hand, the presently disclosed invention is a system and a method for conducting test or experiments of assessing QoE of content playback transported using P2P. It primarily focuses on the chunk-level impairments generated by the network transport components, and neither the media encoder nor the decoder.

In summary, some of the prior arts disclose methods of assessing network transport effects but they were not specific to the transport of streamed multimedia content. Other prior arts disclose methods of assessing network transport effects with specificity on streamed media content, but the methods disclosed focus on packet-level network transport effects and transported using non-P2P network. Still other prior arts disclose methods of transporting media content itself and not of assessing the network transport effects.

SUMMARY

It is an objective of the presently claimed invention to provide a method and a system of investigating and evaluating the effect of network transport on multimedia content bitstream. It is a further objective to provide such a method and a system as tools for QoE assessment and basis for evaluating and improving multimedia content delivery platforms and playback strategies, in turn enhancing the total user experience of the multimedia content audience.

The presently claimed invention can be used on any network when assessing the effect of network transport factors at the chunk level on end user experience of the content audience. The network can be of any kind and have any kind of network architecture, including but is not limited to the Internet, broadband, wireless, and internal computer networks. The claimed method of the invention is also applicable for quality assessment of network transported media content based on end user subjective assessment or objective QoE measurement.

Disclosed herein is a computer implementable method of evaluating transport of data segments of media content bitstream over a network, comprising providing data segments from the media content bitstream, generating network transport distortion during transport of the data segments, receiving the data segments, determining a playback strategy of each received data segment, and evaluating a playback performance of the media content bitstream under the playback strategy; wherein each of the data segments is a chunk.

In accordance with various embodiments, the network transport distortion factors are generated by one or more methods selected from live experiments, simulation, or artificial generation. Other methods within the average skill of the skilled user can equally be employed. In accordance with exemplary embodiments, the network transport distortion factors are represented by either or both of a data segment delay distribution and a per data segment download pattern, which can be represented graphically. The former is aggregate statistics for all delayed data segments. The latter describes how an individual data segment is filled whilst being downloaded. Thus, the network transport distortion factors can be measured at coarse and finer granularity levels respectively.

In accordance with various embodiments, once the network transport distortion factors are introduced to the data segment being transported, the playback strategies included is not limited to waiting until a data segment is completely received before sending it to a media content decoder for playback of the media content, immediately sending an partially received data segment to a media content decoder for playback of the media content, or waiting for a data segment to be completely received for a pre-defined longest waiting time before sending it to a media content decoder for playback of the media content.

In accordance with various embodiments, the evaluating of media content playback performance comprises determining correlation between the generated network transport distortion factors and a subjective quality of experience user metric of the playback performance. Any suitable mechanism may be employed to obtain the quality of experience user metric, such as Mean Opinion Scoring (MOS). In accordance with one exemplary embodiment, a panel of expert end users may be assembled, after statistical profiling to eliminate biased panel members, collect and compile the panel's collective rank of performance of the received media content bitstream. In accordance with another exemplary embodiment, typical end users participate to rank a received media content bitstream after training in how to rank performance of received media. The user testing is carried out on the end users' individual machines and MOS data is collected using a data collection tool.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention are described in more detail hereinafter with reference to the drawings, in which

FIG. 1 shows an illustration of the steps performed by one embodiment according to the claimed invention;

FIG. 2 shows an illustration of a typical system implementing an embodiment of the claimed invention;

FIG. 3 shows a block diagram schematically illustrating three different ways of generating chunk-level distortion effects;

FIG. 4 shows an illustration of three different increasing curves that could be applied to implement the data segment receiving pattern;

FIG. 5 shows an illustration of the steps performed by the playback controller which determines the playback strategy according to an embodiment of the claimed invention; and

FIG. 6 shows an illustration of correlation between subjective user QoE and average discontinuity for different types of video content bitstreams.

DETAILED DESCRIPTION

In the following description, methods of evaluating transport of data segments of a media content bitstream over a network, methods of manipulating a media content bitstream for delivery over a P2P network, computer program products and the like are set forth as preferred examples. It will be apparent to those skilled in the art that modifications, including additions and/or substitutions may be made without departing from the scope and spirit of the invention. Specific details may be omitted so as not to obscure the invention; however, the disclosure is written to enable one skilled in the art to practice the teachings herein without undue experimentation.

As shown in FIG. 1, the method consists of providing chunks of a media content bitstream 100, generating network transport distortion effects in chunks 105, receiving distorted chunks, determining and implementing a playback strategy based on chunk delay 110, and evaluating playback performance under the playback strategy 115.

Referring to FIG. 2, the overall process consists of source video (SRC) 200, a video encoder 205, network transmission 210, a video decoder 220 and processed video (PVS) 225. Different media codecs, transmission rate may be chosen at the video encoder 205. After being decoded by the video decoder 220, the processed videos 225 are then displayed on monitors (not shown) to users. In the bottom part of FIG. 2, the chunk-level impairment module 211 comprises three components: a chunk maker 212, a chunk-level distortion generator 213, and chunk buffer manager 214. The chunk maker 212 is responsible for organizing video stream packets into chunks according to pre-defined configuration parameters, such as chunk size. These chunks are then distributed through the P2P overlay of the chunk-level distortion generator 213, during which, various types of chunk-level distortion effects are introduced. After receiving the video chunks, each peer client (not shown) manages and keeps the received chunks in a local chunk-level buffer (not shown), similar to the chunk buffer manager 214, for continuing sharing with other peers. At the same time, the peer client needs to make a playback decision for each chunk, such as through a playback controller function. When a chunk is received in a time shorter than its playback time, the playback controller 213 will remove it from the local chunk-level buffer and send it to the decoder 220 and player (not shown). Preferably the playback controller 215 is running at the network streaming layer above the media (video and audio) codec layer. Hence, it is transparent to any codec used, and can be designed to take into consideration of various tradeoffs in a typical streaming applications. In the embodiment illustrated in FIG. 2 the chunk-level distortion generator 213 is independent of the playback controller 215. In other words, the playback controller 215 and local buffer manager 214 are not aware of how the chunk-level distortion effects are generated.

In exemplary embodiments, the following parameters are used to define chunk-level distortion:

T_(i) ^(e): the expected playback time of the i^(th) chunk;

T_(i) ^(s): the download start time of chunk i;

T_(i) ^(c): the download completion time of chunk i;

1. Data segment-level delay: Chunk i is delayed if its download completion time is later than its expected playback time. The data segment-level delay length of the i^(th) chunk is defined as:

D _(i) ={T _(i) ^(c) −T _(i) ^(e)}⁺, where {x}⁺=x when x>0, otherwise 0

2. Data segment delay distribution (DSDD): Data segment delay distribution is an aggregate statistic for all delayed data segments. In the simplest case, it can be represented by a discrete random variable. For example, if X={1, 2} (second), p(X=1)=p(X=2)=0.5, all delayed data segments encounter delay length of either 1 or 2 seconds with equal probability. Less restrictive assumptions can be made for other generalized scenarios. 3. Data segment receiving pattern (DSRP): Data segment receiving pattern describes how a data segment, say chunk i, is filled over the whole downloading process. If we denote f_(i)(t), tε[T^(s) _(i), T^(c) _(i)], to be the download completion percentage of chunk i at time t, then f_(i)(t) is a non-decreasing function and f_(i)(T^(s) _(i))=0; f_(i)(T^(c) _(i))=1. Mathematically, the DSRP may be represented by any increasing curve of f_(i)(t) over tε[T^(s) _(i), T^(c) _(i)]. DSDD is therefore in a coarser granularity than the DSRP, as such the delay distribution information can be inferred if we have the complete trace of the DSRP for each chunk.

Referring to FIG. 3, three different ways of generating chunk-level distortion effects are illustrated. Other ways (not shown) are implemented in alternative embodiments. Each method may be used to generate either the DSDD or the DSRP as required. The first way is by live experiments 300. The detailed DSRP for each chunk can be collected and recorded during a real-life experiment, such as a P2P-assisted broadcast. Alternatively, such experiments could be based on PlanetLab. The second way is by doing network transport simulation 305. With simulation, it is possible to simulate a large network with a large number of users, and have the simulation repeatable. The same kinds of DSRP traces can be collected from the simulation experiments. The third way is by artificial generating 310. Instead of letting experiments or simulations determine the distortion effects, different possible chunk delays can be created by following a selected distribution, together with chunk-level receiving patterns by implementing f_(i)(t) with different increasing curves.

FIG. 4 illustrates an example of three different increasing curves that could be applied to implement f_(i)(t) when we manually generate the chunk-level distortion effects. In this example, three increasing curves (A, B and C) have the same start downloading time T^(s) _(i) (1 second before the expected playback time, T_(i) ^(e)) and finish time T^(c) _(i) (4 seconds after the T_(i) ^(e)). However, in any time within this duration, chunk generated by curve A will always receive more contents than that of B and C. Especially at t=T_(i) ^(e), the expected playback time, A generates chunk around 80% complete while B only generates 20% and C close to 0%.

FIG. 5 illustrates the operation of a playback controller 215 (FIG. 2). In P2P streaming systems, the playback controller 215 will check every chunk for playback. There are only two types of chunks: a chunk that has finished downloading before its expected playback time (i.e. a non-delayed chunk), or a delayed chunk (D_(i)>0). For the non-delayed chunk, the playback controller 215 handles it in a simple way, at its expected playback time, move it out of the local chunk buffer 214 (FIG. 2) and send it to the decoder to be played back. When a chunk is delayed, the playback controller must decide how to handle the condition. In the illustrated example, the playback controller makes one of the following choices:

(a) Wait until the chunk is completely received and then send it to the decoder;

(b) Directly send the incomplete chunk to the decoder with no waiting;

(c) Whilst waiting for chunk to complete receiving, a timer is initiated with a pre-defined expiration threshold. Once the timer expires, the playback controller stops waiting and sends the chunk to the decoder immediately.

The timer expiration threshold value can be preset as the longest waiting time (LWT). In this sense, action (a) and (b) are special cases of (c), corresponding to LWT=∞ and LWT=0. The timer expiration threshold and other operational parameters of the playback controller can be adjusted in exemplary embodiments (not shown). It is possible that the incomplete chunk sent to the decoder (by action c above) cannot be decoded and played back because of the implementation of the decoder. The resultant effect in the final processed video is equal to skipping the incomplete chunk.

Referring to FIG. 6, this graph illustrates the correlation between subjective QoE and network transport effects for an experiment employing the method of the claimed invention. In this experiment, the relationship between the average playback discontinuity, which is affected by the data segment delay distribution and the playback strategy, and QoE using a MOS ranking system was determined.

In this experiment, 50 source video clips with average length of 30 seconds of various categories were used. 30 end users (16 males and 14 females) in the age range 18-28 participated. The assessment scheme was Absolute Category Rating (ACR) with hidden reference. Table 1 below shows MOS ranking system used by end users.

TABLE 1 Score 5 4 3 2 1 Subjective feeling Excellent Good Fair Poor Bad

The playback strategy employed was straightforward. If any video chunk received was incomplete within the longest waiting time (LWT), it was discarded. Otherwise the video chunk was decoded and the processed video was played back by each end user's peer client on the end user's display. If no chunk was received by the peer client at the expected playback time, the decoder froze at the last playable image until new content arrived.

Due to the implementation of the decoder, there were three possible viewing effects caused by chunk-level distortions:

(i) D_(i)=0, no distortion. If chunk i was completed before its expected playback time, it was normally decoded and played back.

(ii) 0<D_(i)<LWT, freeze-and-play viewing effect. If chunk i was delayed but still completed before LWT, the resulting effect in the processed video is firstly freezing at an image for duration of D_(i) and then normally playing back chunk i.

(iii) D_(i)>=LWT, freeze-and-discard viewing effect. If chunk i was delayed and remained incomplete when LWT expires, the effect in PVS is freezing at an image for LWT and then directly jumping to chunk i+1.

The average discontinuity, d, was calculated according to the equation: (d=1−c), where c is the ratio of the continuous viewing time to the total viewing time (including waiting time).

Two types of data segment delay distribution were used, a short delay distribution where delays were uniformly distributed in [0, 2] seconds, and a long delay distribution where all delays were equal to 3 seconds (equal to the LWT as LWT is set 3 seconds by default).

Experimental bias in the subjective MOS scoring process was eliminated through the use of DMOS metric, derived by subtracting the MOS of the PVS from the MOS of the reference video (of same category and with no distortion) according to the following equation:

DMOS=MOS_(cat.)(d)−MOS_(cat.)(r)+6

The DMOS (not shown) was found to be consistent with MOS analysis meaning that the experiment results were reasonable.

As can be seen from FIG. 6, there is a correlation between an objective metric (here, the average discontinuity) and a subjective QoE metric. In this particular experiment, the practical conclusion is that end users care more about the number of screen freezing events than the duration of each freezing event.

The present invention may be implemented using general purpose or specialized computers or microprocessors programmed according to the teachings of the present disclosure. Computer instructions or software codes running in the general purpose or specialized computers or microprocessors can readily be prepared by practitioners skilled in the software art based on the teachings of the present disclosure.

In some embodiments, the present invention includes a computer storage medium having computer instructions or software codes stored therein which can be used to program a computer or microprocessor to perform any of the processes of the present invention. The storage medium can include, but is not limited to, floppy disks, optical discs, Blu-ray Disc, DVD, CD-ROMs, and magneto-optical disks, ROMs, RAMs, flash memory devices, or any type of media or device suitable for storing instructions, codes, and/or data.

The foregoing description of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations will be apparent to the practitioner skilled in the art.

The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, thereby enabling others skilled in the art to understand the invention for various embodiments and with various modifications that are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalence. 

1. A computer implementable method of evaluating transport of data segments of media content bitstream over a network, comprising: providing data segments from the media content bitstream, generating network transport distortion during transport of the data segments, receiving the data segments, determining a playback strategy of each of the data segment received, and evaluating a playback performance of the media content bitstream under the playback strategy; wherein each of the data segments is a chunk.
 2. The computer implementable method according to claim 1, wherein said network is a peer-to-peer network.
 3. The computer implementable method according to claim 1, wherein said media content bitstream is a streaming media content bitstream.
 4. The computer implementable method according to claim 1, wherein said generating network transport distortion further comprises selecting from using live experiments, simulation, or artificial generation to generate a chunk level distortion.
 5. The computer implementable method according to claim 4, wherein said chunk level distortion is represented by either or both of a chunk delay distribution and a chunk receiving pattern.
 6. The computer implementable method according to claim 1, wherein said determining a playback strategy further comprises selecting from waiting until a data segment is completely received before sending it to a media content decoder, immediately sending an partially received data segment to a media content decoder, or waiting for a data segment to be completely received for a pre-defined longest waiting time before sending it to a media content decoder.
 7. The computer implementable method according to claim 1, wherein evaluating a playback performance further comprises of determining correlation between said network transport distortion and a subjective quality of experience user metric of the playback performance.
 8. A system for evaluating transport of data segments of media content bitstream over a network, comprising: a data segment maker to receive the media content bitstream and generate data segments from the media content bitstream, a distortion generator to receive the data segments from the data segment maker and generate network transport distortion on the data segments, a data segment buffer to receive the data segments transported from the distortion generator, and a playback controller to determine a playback strategy of each data segment received; wherein each of the data segments is a chunk.
 9. The system according to claim 8, wherein said network is a peer-to-peer network.
 10. The system according to claim 8, wherein said media content bitstream is a streaming media content bitstream.
 11. The system according to claim 8, wherein said distortion generator generates network transport distortion selected from using live experiments, simulation, or artificial generation to generate a chunk level distortion.
 12. The system according to claim 11, wherein said chunk level distortion is represented by either or both of a chunk delay distribution and a chunk receiving pattern.
 13. The system according to claim 8, wherein said playback controller determines a playback strategy selected from waiting until a data segment is completely received before sending it to a media content decoder, immediately sending an partially received data segment to a media content decoder, or waiting for a data segment to be completely received for a pre-defined longest waiting time before sending it to a media content decoder. 